package com.managertrade.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;
@Data
@JsonIgnoreProperties(ignoreUnknown = true) // 忽略未知字段
public class InstrumentResponseDTO {
    private String code;
    private String msg;
    private List<Instrument> data;

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Instrument {
        @JsonProperty("instId")
        private String instId;       // 产品ID，比如 ETH-USDT-SWAP

        @JsonProperty("instType")
        private String instType;     // 产品类型，SWAP 永续合约

        @JsonProperty("uly")
        private String uly;          // 标的指数，如 ETH-USDT

        @JsonProperty("category")
        private String category;     // 合约分类

        @JsonProperty("baseCcy")
        private String baseCcy;      // 交易币

        @JsonProperty("quoteCcy")
        private String quoteCcy;     // 计价币

        @JsonProperty("settleCcy")
        private String settleCcy;    // 结算币种

        @JsonProperty("ctVal")
        private String ctVal;        // 合约面值

        @JsonProperty("ctMult")
        private String ctMult;       // 合约乘数

        @JsonProperty("lotSz")
        private String lotSz;        // 下单数量精度（张数必须为它的整数倍）

        @JsonProperty("tickSz")
        private String tickSz;       // 价格精度

        @JsonProperty("minSz")
        private String minSz;        // 最小下单数量

        @JsonProperty("maxLmtSz")
        private String maxLmtSz;     // 限价单最大数量

        @JsonProperty("maxMktSz")
        private String maxMktSz;     // 市价单最大数量

        @JsonProperty("state")
        private String state;        // 合约状态（live：正常 / suspend：暂停）
    }
}
